using UserManagement.Models;

namespace UserManagement.Services;

public interface IUserService
{
    // 获取所有用户（DTO投影）
     Task<List<UserDto>> GetAllUsersAsync();
        
    // 根据ID查询单个用户（DTO投影）
    Task<UserDto?> GetUserAsync(int id);
        
    // 添加用户（返回完整实体）
    Task<User> AddUserAsync(User user);
        
    // 更新用户信息（根据ID修改用户名和邮箱）
    Task UpdateUserAsync(int id, User user);
        
    // 删除用户 
    Task DeleteUserAsync(int id);
    Task<bool> AddUsersAsync(List<User> users);
}